❌グループ署名方式を理解する with Signature Technology
考察
頭だけで覚えていくのは少なくとも無理
前提知識が足らない
数式の読み方がわからない
https://gyazo.com/16aa26c8edd4721b12a858535f430f1c
これは「秘密鍵SGを使って、公開鍵PAを暗号化してつくるデジタル署名」(の処理を行う関数)って意味に取れるけど
https://gyazo.com/abb3cec1cb92936bde0d2bd342344357
(α, β) |
何これ?論理式のOr?
Verify?
(f(α), β) = 1
αとβって何?
メッセージ m に対して,秘密鍵 SA とそれに対応するメンバ証明書 σA を正しく持っていることを示すゼロ知識証明書
この式にはSAなんてどこにも出て来ないが
-.icon
2022/05/11 ガチるか2
いや、やっぱりダメだな
SPK{α, β} = SPK{(α, β) | VerifyPG}(f(α), β) = 1}(m)
ここが意味わからん。たぶん端折ってる。Verifyの説明もないし。
sta.iconにはまだ時期尚早すぎた
グループ G
追跡 chasE
Public and Secret
❌Private
PA = f (SA) の関係を満たす公開鍵と秘密鍵のペア (PA, SA)
A
PA
PA に対するディジタル署名 SignSA (PA)
A
PA
SA が正しく作成されていることを証明するゼロ知識証明書 SPKc
GM
メンバ証明書 σA = SignSG(PA)
メンバIDのペア (IDA, PA, σ A)
(PA, SignSA(PA)) to メンバリスト
SPK{α, β} = SPK{(α, β) | VerifyPG}(f(α), β) = 1}(m)
メッセージ m に対して,秘密鍵 SA とそれに対応するメンバ証明書 σA を正しく持っていることを示すゼロ知識証明書
c = EPE(PA)
公開鍵 PA を EM(追跡機関)の公開鍵で暗号化したもの
SPKc
c の平文 (公開鍵 PA) に対応する秘密鍵 SA を持っていることを示すゼロ知識証明書
-.icon
2022/05/09 ちょっとだけガチるか1
グループ署名は,グループの管理者 (GM),追跡期間 (EM),グループメンバ A の3つのエンティティからなり
管理者 GM
追跡期間 EM
メンバ A
初期設定
https://gyazo.com/cd24d4e5943575b1d6da6dfe7f92eb8e
管理者 GM
(公開鍵PG、秘密鍵SG)
追跡期間 EM
(公開鍵PE、秘密鍵SE)
グループ公開鍵
(PG、PE)
---
PA
code:クラス式がいいわ
admin
period
memberA
class Base:
.public means "public key"
.secret means "secret key"
# 初期設定1-1
admin.public, admin.secret
period.public, period.secret
group.public = (admin.public, period.public)
# 初期設定1-2
(memberA_public_key, memberA_secret_key)
これは memberA_public_key = f(memberA_secret_key) を満たす
digitalsign(secret=memberA_secret memberA_public_key
あー、遠い…… at 2022/05/09
1,2時間じゃ終わらんなぁこれsta.icon*2
プログラムコードで言えばconst Pa=……みたいに二文字名変数使ってるようなものだからなぁ
たぶんもっとわかりやすく解説してくれるマンの登場を待った方がいい。
いや、こういうのをサクサク理解する要領も欲しい。
あるいは思い出したい?
高校や大学では割と普通に出てた覚えある(からできないことはないと思うんだが)